<?
/*
 * Classe DAO para a tabela cliente.
 * Data Access Object que irá fazer operações na tabela Cliente (básica: Insert, Update, Delete e Lista)
 */

include_once("../util/PDOConnectionFactory.class.php");

class FotoDAO extends PDOConnectionFactory {
// irá receber uma conexão
    public $conex = null;

    // constructor
    public function __construct() {
        $this->conex = PDOConnectionFactory::getConnection();
    }

    public function save($foto){
         try {

            $stmt = $this->conex->prepare("INSERT INTO tb_foto (idAlbum, legenda, caminho) VALUES (:idAlbum, :legenda, :caminho)");
            $stmt->bindValue(":idAlbum", $foto->getIdAlbum() );
            $stmt->bindValue(":legenda", $foto->getLegenda());
            $stmt->bindValue(":caminho", $foto->getCaminho());

            $stmt->execute();

            $stmt2 = $this->conex->query(" SELECT LAST_INSERT_ID() AS ID;");

            //sabemos que vai retornar só um registro, mas...
            foreach ($stmt2 as $rows) {
                $foto->setIdFoto($rows["ID"]);
            }

            // fecho a conexão
            $this->conex = null;
            return $foto;
        // caso ocorra um erro, retorna o erro;
        }
        catch ( PDOException $ex  ) {
            echo "Erro: ".$ex->getMessage(); }
    }

    public function ListFotosPorIdAlbum($idAlbum) {
        try {

            $this->conex = PDOConnectionFactory::getConnection();
            $query = " SELECT idFoto, legenda, caminho FROM tb_foto where idAlbum = :idAlbum ";

            $stmt = $this->conex->prepare($query);

            $stmt->bindValue(":idAlbum", $idAlbum);

            $stmt->execute();
            // desconecta
            $this->conex = null;
            // retorna o resultado da query
            return $stmt;
        }catch( PDOException $ex ) {
            echo "Erro: ".$ex->getMessage();
        }
    }
}
?>